package com.example.blog.pojo;

import com.fasterxml.jackson.annotation.JsonAlias;
import com.fasterxml.jackson.annotation.JsonIgnore;
import jakarta.validation.constraints.NotEmpty;
import lombok.Data;

import java.time.LocalDateTime;

@Data
public class User {

    private Integer id;

    @JsonAlias(value={"username"})
    @NotEmpty(message = "username不能为空")
    //@JsonAlias:在反序列化 JSON 数据时，为字段或方法指定多个可接受的名称或别名(前端传入的属性名可能与实体类属性名不同)
    //@NotEmpty:用于确保某个字段或属性的值不为空
    private String username;

    @JsonIgnore//让springmvc把当前对象转换成json字符串的时候,忽略password,最终的json字符串中就没有password这个属性了
    private String password;
    private String nickname;
    private String signature;
    private String email;
    private String avatarurl;
    private LocalDateTime createtime;
    private LocalDateTime updatetime;
//    @JsonIgnore//让springmvc把当前对象转换成json字符串的时候,忽略role,最终的json字符串中就没有role这个属性了
    private Integer role;
}
